// pages/order/order.js
import config from '../../utils/config'
import utils from '../../utils/util'
import {
  orderModel
} from '../../models/order';
const order = new orderModel();
import Dialog from '../../vant/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    nvabarData: {
      showCapsule: 0, //是否显示左上角图标   1表示显示    0表示不显示
      title: '订单管理',
      //  导航栏 中间的标题
    },
    config: config,
    fLoad: false,
 
    startTime: '',
    endTime: '',
    orderStatus: '', // 1待提交2已提交3待支付4待接单5接单6改单(待确认)7已确认8发货9收货(已完成)10已取消
    updateOrderStatus: '', // 是否改单 0否1是
    allPage: 0, // 所有页数
    page: 1, // 第几页
    endFlag: false, // 是否到最后
    orderList: [], // 订单列表

    show: false,
    show1: false,
    show2: false,
    date: '',//默认起始时间  
    date2: '',//默认结束时间 
    minDate1: 0,
    maxDate: new Date().getTime(),
    maxDate1: new Date().getTime(),
    currentDate: new Date().getTime(), 
    currentDate1: new Date().getTime(), 
    active: '',
    sactive: '',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.data.fLoad = true
    this.getAuth() // 判断是否登录
  },
  // 判断是否登录
  getAuth() {
    var _this = this
    wx.request({
      url: config.projectUrl + 'supplier/app/supplier/currentSupplierInfo',
      method: 'get',
      header: {
        'authentication': wx.getStorageSync('authentication')
      },
      success: function (res) {
        if(res.data.code == '402'){
          Dialog.confirm({
            title: '提示',
            message: '您还未登录，请先登录再进行操作',
            confirmButtonText: '确定',
            cancelButtonText: '取消'
          }).then(() => {
            wx.reLaunch({
              url: '/pages/login/login'
            })
          }).catch(() => {
            // on cancel
          });
        }else{
          _this.getList() 
        }
      }
    })
  },
  // 查询订单列表
  getList(showLoading=true){
    order.orderListPage({
      page: this.data.page,
      limit: 10,
      startTime: this.data.startTime,
      endTime: this.data.endTime,
      orderStatus: this.data.orderStatus,
      updateOrderStatus: this.data.updateOrderStatus
    }, res => {
      if (res.data.list.length > 0) {
        this.data.allPage = res.data.allPage;
        this.data.endFlag = false;
        if (this.data.page == this.data.allPage) {
          this.data.endFlag = true;
        } else {
          this.data.page += 1;
        }
        var orderList = this.data.orderList
        orderList = orderList.concat(res.data.list)
        this.setData({
          orderList: orderList
        })
      }
    },showLoading)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if(!this.data.fLoad){
      // this.data.allPage = 0, // 所有页数
      // this.data.page = 1, // 第几页
      // this.data.endFlag = false, // 是否到最后
      // this.data.orderList = [], // 商品列表
      
      this.setData({
        allPage: 0,
        page: 1,
        endFlag: false,
        orderList: []
      })
      this.getAuth()
    }
    this.data.fLoad = false
  },
  // // 点击切换订单状态
  onTab(e){
    var index = e.currentTarget.dataset.index
    this.setData({
      active: index
    })
  },
  // 点击切换是否改单
  onSTab(e){
    var index = e.currentTarget.dataset.index
    this.setData({
      sactive: index
    })
  },
  
  // 开始时间  
  onDeliveryTime(e) {
    this.setData({
      show1: true
    })
  },
  onConfirm0(event) {
    var currentDate = event.detail
    if(event.detail>this.data.currentDate1){
      currentDate = this.data.currentDate1
    }
    var date = utils.formatTimeTwo(currentDate,'Y-M-D h:m')
    console.log(currentDate,date)
    this.setData({
      currentDate: currentDate,
      date: date,
      show1: false,
      // minDate1: minDate1
    });
  },
  onCancel0(){
    this.setData({
      show1: false
    })
  },
  // 结束时间
  onArriveTime(e) {
    this.setData({
      show2: true
    })
  },
  onConfirm1(event) {
    var currentDate1 = event.detail
    if(event.detail<this.data.currentDate){
      currentDate1 = this.data.currentDate
    }
    var date2 = utils.formatTimeTwo(currentDate1,'Y-M-D h:m')
    this.setData({
      currentDate1: currentDate1,
      date2: date2,
      show2: false,
      // maxDate: event.detail,
    });
  },
  onCancel1(){
    this.setData({
      show2: false
    })
  },
  // 重置时间
  onReset(){
    this.setData({
      date: '',
      date2: '',
      minDate1: 0,
      maxDate: new Date().getTime(),
      maxDate1: new Date().getTime(),
      currentDate: new Date().getTime(), 
      currentDate1: new Date().getTime()
    })
  },

  // 批量改单
  onBatch: utils.throttle(function (e) {
    wx.navigateTo({
      url: '/pages/order/orderBatch/orderBatch',
    })
  }),

  // 详情
  onDetail: utils.throttle(function (e) {
    var id = e.currentTarget.dataset.id
    var index = e.currentTarget.dataset.index
    wx.navigateTo({
      url: '/pages/order/orderInfo/orderInfo?id=' + id + '&type=0&pageindex=' + index,
    })
  }),
  // 接单,发货
  onDetailBtn: utils.throttle(function (e) {
    var id = e.currentTarget.dataset.id
    var index = e.currentTarget.dataset.index
    wx.navigateTo({
      url: '/pages/order/orderInfo/orderInfo?id=' + id + '&type=0&pageindex=' + index,
    })
  }),

  // 筛选
  onFilter(){
    this.setData({
      show: true
    })
  },
  onClose() {
    this.setData({
      show: false
    })
  },
  // 确定筛选
  onSearch(){
    this.setData({
      startTime: this.data.date,
      endTime: this.data.date2,
      orderStatus: this.data.active,
      updateOrderStatus: this.data.sactive==2?0:this.data.sactive,
      orderList: [], // 订单列表
      show: false,
    })
    this.data.allPage = 0 // 所有页数
    this.data.page = 1 // 第几页
    this.data.endFlag = false // 是否到最后
    this.getList() // 查询订单列表
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.data.allPage = 0, // 所有页数
    this.data.page = 1, // 第几页
    this.data.endFlag = false, // 是否到最后
    this.data.orderList = [], // 商品列表
    // this.data.orderStatus = ''
    // this.data.startTime = ''
    // this.data.endTime = ''
    this.onLoad();
    //模拟加载 		
    setTimeout(function () {
      // complete 			
      wx.hideNavigationBarLoading() //完成停止加载 			
      wx.stopPullDownRefresh() //停止下拉刷新 		

    }, 1500);

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('bottom');
    if (this.data.endFlag) {
      utils.msg('已是最后了');
      return;
    } else {
      this.getList();

    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})